package com.galaxis.wms.query

import com.galaxis.wms.entity.BasProjects
import com.querydsl.core.types.Path
import com.querydsl.core.types.PathMetadata
import com.querydsl.core.types.dsl.DateTimePath
import com.querydsl.core.types.dsl.NumberPath
import com.querydsl.core.types.dsl.StringPath
import com.querydsl.sql.ColumnMetadata
import com.querydsl.sql.RelationalPathBase

import java.sql.Timestamp
import java.sql.Types

import static com.querydsl.core.types.PathMetadataFactory.forVariable

/**
 * 物流项目(bas_projects)
 */
@SuppressWarnings("ALL")
class QBasProjects extends RelationalPathBase<BasProjects> {
    /** bas_projects表 */
    public static final QBasProjects basProjects = new QBasProjects("bas_projects")

    /** 主键 */
    public final NumberPath<Long> projectId = createNumber("projectId", Long.class)
    /** 物流项目编码 */
    public final StringPath projectCode = createString("projectCode")
    /** 物流项目名称 */
    public final StringPath projectName = createString("projectName")
    /** 父项目编码 */
    public final StringPath parentCode = createString("parentCode")
    /** 项目经理 */
    public final StringPath manager = createString("manager")
    /** 电话 */
    public final StringPath managerPhone = createString("managerPhone")
    /** 创建时间 */
    public final DateTimePath<Timestamp> createTime = createDateTime("createTime", Timestamp.class)
    /** 更新时间 */
    public final DateTimePath<Timestamp> updateTime = createDateTime("updateTime", Timestamp.class)
    /** 项目状态(0:禁用、1:启用、2:关闭) */
    public final StringPath status = createString("status")
    /** 下发状态(0:新建、1:完成) */
    public final StringPath pushStatus = createString("pushStatus")
    /** 供应商编码体系(01: 标准体系、02: 电信体系、03: 通服体系) */
    public final StringPath providerCodeSystem = createString("providerCodeSystem")
    /** 备用字段 */
    public final StringPath remark1 = createString("remark1")
    /** 备用字段 */
    public final StringPath remark2 = createString("remark2")
    /** 备用字段 */
    public final StringPath remark3 = createString("remark3")
    /** 备用字段 */
    public final StringPath remark4 = createString("remark4")
    /** 备用字段 */
    public final StringPath remark5 = createString("remark5")
    /** 备用字段 */
    public final StringPath remark6 = createString("remark6")
    /** 备用字段 */
    public final StringPath remark7 = createString("remark7")
    /** 备用字段 */
    public final StringPath remark8 = createString("remark8")
    /** 备用字段 */
    public final StringPath remark9 = createString("remark9")
    /** 备用字段 */
    public final StringPath remark10 = createString("remark10")

    QBasProjects(String variable) {
        super(BasProjects.class, forVariable(variable), "public", "bas_projects")
        addMetadata()
    }

    QBasProjects(String variable, String schema, String table) {
        super(BasProjects.class, forVariable(variable), schema, table)
        addMetadata()
    }

    QBasProjects(String variable, String schema) {
        super(BasProjects.class, forVariable(variable), schema, "bas_projects")
        addMetadata()
    }

    QBasProjects(Path<? extends BasProjects> path) {
        super(path.getType(), path.getMetadata(), "public", "bas_projects")
        addMetadata()
    }

    QBasProjects(PathMetadata metadata) {
        super(BasProjects.class, metadata, "public", "bas_projects")
        addMetadata()
    }

    void addMetadata() {
        addMetadata(projectId, ColumnMetadata.named("project_id").withIndex(1).ofType(Types.BIGINT).withSize(64))
        addMetadata(projectCode, ColumnMetadata.named("project_code").withIndex(2).ofType(Types.VARCHAR).withSize(255))
        addMetadata(projectName, ColumnMetadata.named("project_name").withIndex(3).ofType(Types.VARCHAR).withSize(255))
        addMetadata(parentCode, ColumnMetadata.named("parent_code").withIndex(4).ofType(Types.VARCHAR).withSize(255))
        addMetadata(manager, ColumnMetadata.named("manager").withIndex(5).ofType(Types.VARCHAR).withSize(255))
        addMetadata(managerPhone, ColumnMetadata.named("manager_phone").withIndex(6).ofType(Types.VARCHAR).withSize(255))
        addMetadata(createTime, ColumnMetadata.named("create_time").withIndex(7).ofType(Types.TIMESTAMP).withSize(100))
        addMetadata(updateTime, ColumnMetadata.named("update_time").withIndex(8).ofType(Types.TIMESTAMP).withSize(100))
        addMetadata(status, ColumnMetadata.named("status").withIndex(9).ofType(Types.VARCHAR).withSize(255))
        addMetadata(pushStatus, ColumnMetadata.named("push_status").withIndex(10).ofType(Types.VARCHAR).withSize(255))
        addMetadata(providerCodeSystem, ColumnMetadata.named("provider_code_system").withIndex(11).ofType(Types.VARCHAR).withSize(255))
        addMetadata(remark1, ColumnMetadata.named("remark1").withIndex(12).ofType(Types.VARCHAR).withSize(255))
        addMetadata(remark2, ColumnMetadata.named("remark2").withIndex(13).ofType(Types.VARCHAR).withSize(255))
        addMetadata(remark3, ColumnMetadata.named("remark3").withIndex(14).ofType(Types.VARCHAR).withSize(255))
        addMetadata(remark4, ColumnMetadata.named("remark4").withIndex(15).ofType(Types.VARCHAR).withSize(255))
        addMetadata(remark5, ColumnMetadata.named("remark5").withIndex(16).ofType(Types.VARCHAR).withSize(255))
        addMetadata(remark6, ColumnMetadata.named("remark6").withIndex(17).ofType(Types.VARCHAR).withSize(255))
        addMetadata(remark7, ColumnMetadata.named("remark7").withIndex(18).ofType(Types.VARCHAR).withSize(255))
        addMetadata(remark8, ColumnMetadata.named("remark8").withIndex(19).ofType(Types.VARCHAR).withSize(255))
        addMetadata(remark9, ColumnMetadata.named("remark9").withIndex(20).ofType(Types.VARCHAR).withSize(255))
        addMetadata(remark10, ColumnMetadata.named("remark10").withIndex(21).ofType(Types.VARCHAR).withSize(255))
    }
}
